<?php
// +----------------------------------------------------------------------
// | HkCms 插件相关函数
// +----------------------------------------------------------------------
// | Copyright (c) 2012-2019 http://www.hkcms.cn, All rights reserved.
// +----------------------------------------------------------------------
// | Author: 广州恒企教育科技有限公司 <admin@hkcms.cn>
// +----------------------------------------------------------------------

/**
 * 插件模板定位
 * @staticvar array $TemplateFileCache
 * @param string $templateFile
 * @param string $addonPath 插件目录
 * @return mixed
 */
function parseAddonTemplateFile($templateFile = '', $addonPath) {
    static $TemplateFileCache = array();
    config('TEMPLATE_NAME', $addonPath . 'view/');
    //模板标识
    if ('' == $templateFile) {
        $templateFile = config('TEMPLATE_NAME') . ADDON_MODULE_NAME . '/' . request()->action() . '.' . config('template.view_suffix');
    }
    $key = md5($templateFile);
    if (isset($TemplateFileCache[$key])) {
        return $TemplateFileCache[$key];
    }

    if (false === strpos($templateFile, config('template.view_suffix'))) {
        // 解析规则为 模板主题:模块:操作 不支持 跨项目和跨分组调用
        $path = explode(':', $templateFile);
        $action = array_pop($path);
        $module = !empty($path) ? array_pop($path) : ucwords(ADDON_MODULE_NAME);
        $path = config("TEMPLATE_NAME");
        $depr = defined('GROUP_NAME') ? config('template.view_depr') : '/';
        $templateFile = $path . $module . $depr . $action . '.' . config('template.view_suffix');
    }
    //区分大小写的文件判断，如果不存在，尝试一次使用默认主题
    if (!file_exists_case($templateFile)) {
        //记录日志
        $log = '模板:[' . $templateFile . ']不存在！';
        exception($log);
    }
    $TemplateFileCache[$key] = $templateFile;
    return $templateFile;
}
